package es.ats.codington.festival.interfaces.services;

import java.io.FileNotFoundException;
import java.util.List;

import es.ats.codington.festival.domain.Imagen;
import es.ats.codington.festival.domain.Place;
import es.ats.codington.festival.exceptions.ServiceException;


/**
 * @author Codington_RED
 *
 */
public interface IPlaceService {

	/**
	 * Service to list all places
	 * @return List<Place>
	 * @throws ServiceException
	 */
	public List<Place> getAllPlaces() throws ServiceException;

	/**
	 * Service to to insert a new place
	 * @param place
	 * @param typePlace
	 * @return boolean
	 * @throws ServiceException
	 */
	public boolean insertPlace(Place place, String typePlace) throws ServiceException;

	/**
	 * Service to update a place
	 * @param place
	 * @return int
	 * @throws ServiceException
	 */
	public int updatePlace(Place place) throws ServiceException;

	/**
	 * 
	 * @param idPlace
	 * @return Place
	 * @throws ServiceException
	 */
	public Place getPlace(int idPlace) throws ServiceException;

	/**
	 * method tah obtains an image
	 * @param route
	 * @param name
	 * @return Image
	 * @throws ServiceException
	 * @throws FileNotFoundException
	 */
	public Imagen getImage(String route, String name) throws ServiceException, FileNotFoundException;

}

